package payment

import (
	"fmt"
	"github.com/gofiber/fiber/v2"
	"sg-backend/global"
	"sg-backend/model/paylog"
)

type _deleteType struct {
	Key uint `json:"key"`
}

func DeletePaymentLog(ctx *fiber.Ctx) error {

	// 解释数据
	var dataDto _deleteType
	if err := ctx.BodyParser(&dataDto); err != nil {
		return ctx.JSON(fiber.Map{
			"status":  "error",
			"message": fmt.Sprintf("数据解释出错！%s", err),
		})
	}

	// 获取要删除的对象
	var delObj paylog.PayLog
	if err := global.DB.First(&delObj, dataDto.Key); err.Error != nil {
		return ctx.JSON(fiber.Map{
			"status":  "error",
			"message": fmt.Sprintf("获取数据库出错！%s", err.Error),
		})
	}
	// 成功获取对象，开始删除
	r := global.DB.Delete(&delObj)
	if r.Error != nil {
		return ctx.JSON(fiber.Map{
			"status":  "error",
			"message": fmt.Sprintf("从数据库中删除数据出错！%s", r.Error),
		})
	}
	// 返回
	return ctx.JSON(fiber.Map{
		"status":  "done",
		"message": "删除成功！",
	})
}
